﻿@{
    ViewBag.Title = "Form";
    Layout = "~/Views/Shared/_Form.cshtml";
}
<style>
    fieldset{
        display:inline-block;
        width:calc(50% - 2px);
    }

    fieldset legend
    {
        margin-bottom:5px;
        font-size:14px;
    }

    li span.tip{
        color:red;
        font-weight:bold;
    }

    fieldset textarea{
        width:100%;
        height:100px;
    }

    #btnTest{
        line-height:15px;
    }

    ul {
        margin-bottom: unset;
        padding-left: 25px;
        float: left;
        font-size: 13px;
    }
</style>
<form id="form1">
    <div style="margin-top: 10px; margin-left: 10px;">
        <fieldset>
            <legend>表达式</legend>
            <textarea id="txtCondition"></textarea>
        </fieldset>
        <fieldset style="float:right;">
            <legend><input type="button" id="btnTest" value="测试"/><span id="lblTestResult"></span></legend>
            <textarea id="txtJson" placeholder="实体json"></textarea>
        </fieldset>
    </div>
    <ul>
        <li>对象属性访问，<span class="tip">对象名称为obj</span>，比如“obj.age”表示访问对象“age”属性;</li>
        <li>显示对象类型转换:<br /><span class="tip">Convert.ToByte(obj.sex)</span>表示将对象属性转为字节类型；
            <span class="tip">Convert.ToDateTime(obj.birth)</span>表示将对象属性转为日期类型；
            <span class="tip">Convert.ToDecimal(obj.salary)</span>表示将对象属性转为高精度浮点数；
            <span class="tip">Convert.ToSingle(obj.total)</span>表示将对象属性转为单精度浮点数；
            <span class="tip">Convert.ToDouble(obj.total)</span>表示将对象属性转为双精度浮点数；
            <span class="tip">Convert.ToInt16(obj.age)</span>表示将对象属性转为短整型；
            <span class="tip">Convert.ToInt32(obj.age)</span>表示将对象属性转为整数；
            <span class="tip">Convert.ToInt64(obj.age)</span>表示将对象属性转为长整数；
        </li>
        <li>函数<i>equalsIgnore</i>判断字符串是否相等忽略大小写</li>
        <li>函数<i>startsIgnore</i>判断字符串以xx开头忽略大小写</li>
        <li>函数<i>endsIgnore</i>判断字符串以xx结尾忽略大小写</li>
        <li>函数<i>compareIgnore</i>字符串比较忽略大小写</li>
        <li>函数<i>indexOfIgnore</i>字符串查询字串索引忽略大小写</li>
        <li>函数<i>lastIndexOfIgnore</i>字符串从后往前查找子串忽略大小写</li>
    </ul>
</form>
<script>
    function init(str) {
        $("#txtCondition").val(str);
    }

    function getCondition() {
        return $("#txtCondition").val();
    }
    $(function () {
        $("#btnTest").on("click", function () {
            $("#lblTestResult").text("提交测试……");
            $.post("/WorkFlow/WorkFlow/CheckCondition",
                {
                    condition: $("#txtCondition").val(),
                    json: $("#txtJson").val()
                }, function (rsp) {
                    $("#lblTestResult").text(rsp.message);
                    if (rsp.state == "error") {
                        $.modalAlert(rsp.message, "error");
                    }
                }, "json")
        });
    });
</script>
